package cn.fl.splrate.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.base.splrate.transform.BaseSplRateRelInfoVOTransform;
import cn.fl.splrate.vo.SplRateRelInfoVO;
import fl.spl.facade.splrate.dto.SplRateRelInfoDTO;

import java.util.ArrayList;
import java.util.List;


/**
 * @Description: 经销商评级相关信息 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据
 * @Description: VO转换数据变成DTO传递到服务端
 * @Description: VO不能在服务端出现
 */
public class SplRateRelInfoVOTransform extends BaseSplRateRelInfoVOTransform {


    /**
     * DTO 转  VO
     *
     * @param dto SplRateRelInfoDTO
     * @return SplRateRelInfoVO
     */
    public static SplRateRelInfoVO toVO(SplRateRelInfoDTO dto) {
        SplRateRelInfoVO vo = baseToVO(dto);
        //设置自定义扩展属性
        return vo;
    }

    /**
     * VO 转 DTO
     *
     * @param vo SplRateRelInfoVO
     * @return SplRateRelInfoDTO
     */
    public static SplRateRelInfoDTO toDTO(SplRateRelInfoVO vo) {
        SplRateRelInfoDTO dto = baseToDTO(vo);
        //设置自定义扩展属性
        return dto;
    }

    /**
     * DTO集合 转 VO集合
     *
     * @param list List<SplRateRelInfoDTO>
     * @return List<SplRateRelInfoVO>
     */
    public static List<SplRateRelInfoVO> toVOList(List<SplRateRelInfoDTO> list) {
        List<SplRateRelInfoVO> voList = null;
        if (CollectionUtils.isNotEmpty(list)) {
            voList = new ArrayList<SplRateRelInfoVO>(list.size());
            for (SplRateRelInfoDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * VO集合 转 DTO集合
     *
     * @param list List<SplRateRelInfoVO>
     * @return List<SplRateRelInfoDTO>
     */
    public static List<SplRateRelInfoDTO> toDTOList(List<SplRateRelInfoVO> list) {
        List<SplRateRelInfoDTO> dtoList = null;
        if (CollectionUtils.isNotEmpty(list)) {
            dtoList = new ArrayList<SplRateRelInfoDTO>(list.size());
            for (SplRateRelInfoVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }
}
